home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 6 / 64er_Magazin_Sonderheft_06_86-06_1986_Markt__Technik_de_Disk_1_of_3_Side_B.d64 / cent'hardcpy src (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  5KB  |  169 lines

  1. 10 ;++++++++++++++++++++++++++++++++
  2. 20 ;+++++                      +++++
  3. 30 ;+++++ hardcopy fuer        +++++
  4. 40 ;+++++ centronics drucker   +++++
  5. 50 ;+++++   (star sg)          +++++
  6. 60 ;+++++ am user-port         +++++
  7. 70 ;++++++++++++++++++++++++++++++++
  8. 80 ;+++++                +++++++++++
  9. 90 ;+++++ von            +++++++++++
  10. 100 ;+++++ richard gresek +++++++++++
  11. 110 ;+++++                +++++++++++
  12. 120 ;++++++++++++++++++++++++++++++++
  13. 130 .li1,3
  14. 140 .ba$7000
  15. 150 ;
  16. 160 ;
  17. 170 ;++++++++++++++++++++++++++++++++
  18. 180 ;ausrechnen der     +++++++++++++
  19. 190 ;startadresse der   +++++++++++++
  20. 200 ;bitmap,pruefen     +++++++++++++
  21. 210 ;ob graphic ein     +++++++++++++
  22. 220 ;++++++++++++++++++++++++++++++++
  23. 230 start lda$d018;bits 12-13
  24. 240  and#$0c;der bitmap
  25. 250  asl;ins hi-byte
  26. 260  asl
  27. 270  asl
  28. 280  asl
  29. 290  stanby+2
  30. 300  lda$dd00;bits14-15 aus cia2 holen
  31. 310  lsr
  32. 320  rornby+2;ins hi-byte schieben
  33. 330  lsr
  34. 340  rornby+2
  35. 350  ldanby+2;bits 1-2 der cia2 low-aktiv
  36. 360  eor#$c0;deshalb umkehren mit eor #%1100 0000
  37. 370  stanby+2;und zuruck ins hi-byte des bitmapzeiger
  38. 380  lda#00
  39. 390  stanby+1;lo-byte des bitmapzeiger = 0
  40. 400  lda$d011;bit5=1 =>hi-res graphic ein=> ausdrucken
  41. 410  and#32
  42. 420  bnebegin
  43. 430  rts;bit5=0 >zuruck ins hauptprogramm
  44. 440 ;++++++++++++++++++++++++++++++++
  45. 450 ;hauptprogramm   ++++++++++++++++
  46. 460 ;++++++++++++++++++++++++++++++++
  47. 470 begin sei;interrupt abschalten
  48. 480  lda#$35;ganzes ram bis auf i/o
  49. 490  sta01;einblenden
  50. 500  lda#$ff;port b cia2 auf augang
  51. 510  sta$dd03
  52. 520  lda#<(zeabst+3);endadresse
  53. 530  ldy#>(zeabst+3)
  54. 540  stacontl+1
  55. 550  styconth+1
  56. 560  lda#<(zeabst);startadresse
  57. 570  ldy#>(zeabst);der bytefolge fuer zeilenabstand 8/72 inch
  58. 580  jsrstrout;bytefolge auf parallel-port ausgeben
  59. 590  lda#25;25 zeilen*40 spalten
  60. 600  stazeile
  61. 610 zei lda#40
  62. 620  staspalte
  63. 630 spa lda#8;8 byte in jedem kaestchen
  64. 640  stabyz
  65. 650 by ldy#8
  66. 660 nby lda$6000;byte aus bitmap holen
  67. 670 loop ldx#01;+++++++++++++++++++++++++++++++++++++++
  68. 680 loo rol;bit nr.x ins carry
  69. 690  dex
  70. 700  bneloo;+++++++++++++++++++++++++++++++++++++++
  71. 710 st rolschl;carry ins aktuelle byte einfuegen
  72. 720  incnby+1;+++++++++++++++++++++++++++++++++++++++
  73. 730  bnewe;bitmapzeiger erhoehen
  74. 740  incnby+2;+++++++++++++++++++++++++++++++++++++++
  75. 750 we dey;schon 8 bit zusammen?
  76. 760  bnenby;nein >naechstes byte holen
  77. 770  incloop+1;naechste bitspalte
  78. 780  sec
  79. 790  ldanby+1;+++++++++++++++++++++++++++++++++++++++++++++++
  80. 800  sbc#8;bitmapzeiger auf byte nr.1 der naechsten spalte
  81. 810  stanby+1;setzen
  82. 820  ldanby+2
  83. 830  sbc#00
  84. 840  stanby+2;+++++++++++++++++++++++++++++++++++++++
  85. 850  incst+1;zeiger auf aktuelles byte im ausgabestring
  86. 860  bnewe1;   erhoehen
  87. 870  incst+2;+++++++++++++++++++++++++++++++++++++++
  88. 880 we1 decbyz;alle 8 byte des kaestchens fertig?
  89. 890  bneby;nein=>sprung
  90. 900  lda#01;1.bitspalte der naechsten spalte
  91. 910  staloop+1
  92. 920  clc;+++++++++++++++++++++++++++++++++++++++
  93. 930  ldanby+1;bitmapzeiger auf 1.byte der naechsten spalte
  94. 940  adc#8;stellen
  95. 950  stanby+1
  96. 960  ldanby+2
  97. 970  adc#00
  98. 980  stanby+2;+++++++++++++++++++++++++++++++++++++++
  99. 990  decspalte;zeile fertig?
  100. 1000  bnespa;nein >neachste spalte
  101. 1010  lda#<(zeabst);++++++++++++++++++++++++++++++++++++++++
  102. 1020  ldy#>(zeabst);graphic-einschaltsequenz schicken
  103. 1030  stacontl+1;(vor jeder zeile)
  104. 1040  styconth+1
  105. 1050  lda#<(einsch)
  106. 1060  ldy#>(einsch)
  107. 1070  jsrstrout;++++++++++++++++++++++++++++++++++++++++
  108. 1080  lda#<(schl+$140)
  109. 1090  stacontl+1;zusammengestellte graphiczeile
  110. 1100  lda#>(schl+$140)
  111. 1110  staconth+1;auf einmal ausgeben
  112. 1120  lda#<(schl)
  113. 1130  stast+1
  114. 1140  ldy#>(schl)
  115. 1150  styst+2
  116. 1160  jsrstrout;+++++++++++++++++++++++++++++++++++++++
  117. 1170  lda#13;return auf drucker schicken (neue zeile)
  118. 1180  jsrcout
  119. 1190  deczeile;alle zeilen fertig?
  120. 1200  bneze;nein>naechste zeile
  121. 1210  lda#$37;basic+kernal einschalten
  122. 1220  sta01
  123. 1230  cli;irq zulassen
  124. 1240  rts
  125. 1250 ;++++++++++++++++++++++++++++++++
  126. 1260 ;strout-ausgabe eines    ++++++++
  127. 1270 ;beliebig langen strings ++++++++
  128. 1280 ;auf parallelport        ++++++++
  129. 1290 ;                        ++++++++
  130. 1300 ;++++++++++++++++++++++++++++++++
  131. 1310 strout stylade+2;hi-byte der startadr.
  132. 1320  stalade+1;lo-byte  --"--
  133. 1330 lade lda$2000;byte des string holen
  134. 1340  jsrcout;auf port ausgeben
  135. 1350  inclade+1;zeiger erhoehen
  136. 1360  bnewe2
  137. 1370  inclade+2
  138. 1380 we2 ldalade+2
  139. 1390 conth cmp#$41;hi-byte der akt. adresse=hi-b(endadr.)?
  140. 1400  bnelade;nein >weiter
  141. 1410  ldalade+1;lo-byte der adresse=lo-b(endadr.)?
  142. 1420 contl cmp#64
  143. 1430  bmilade;nein >weiter
  144. 1440  rts;zurueck ins hauptprogramm
  145. 1450 ze jmpzei
  146. 1460 ;-----------------------------
  147. 1470 einsch .by27,103,5,64,1;sequenz zum einschalten des graphicmodus
  148. 1480 zeabst .by27,65,8;zeilenabstand 8/72 inch
  149. 1490 ;++++++++++++++++++++++++++++++++
  150. 1500 cout sta$dd01;daten auf leitung
  151. 1510  lda$dd0d;icr loeschen
  152. 1520  lda$dd00;
  153. 1530  and#$fb;pa2 (strobe)-signal
  154. 1540  sta$dd00
  155. 1550  ora#04;=>zeichen fuer
  156. 1560  sta$dd00;'data auf leitung'
  157. 1570  lda#$10;flag2-busy
  158. 1580 warte bit$dd0d;busy low?
  159. 1590  beqwarte;+> nein
  160. 1600  rts
  161. 1610 ;+++++++++++++++++++++++++++++++
  162. 1620 ;   variablen       ++++++++++++
  163. 1630 ;+++++++++++++++++++++++++++++++
  164. 1640 zeile nop;zeilenzaehler
  165. 1650 spalte nop;spaltenzaehler
  166. 1660 byz nop;bytezaehler fuer jedes kaestchen
  167. 1670 ;+++++++++++++++++++++++++++++++
  168. 1680 schl nop;anfang des auszugebenden strings
  169.